Typical mass storage systems include a management layer that is separate from the data layer. The management layer is responsible for monitoring, storage provisioning, management of data replication, statistical information and other related tasks, to be used by a system administrator of the storage system. By way of non-limiting example, management tasks include volume management tasks, such as: creating, renaming, resizing and deleting volume, snapshots management tasks, such as creating, restoring and deleting snapshots and many other operations that are not related to the ongoing data access activities (e.g. I/O).
The management layer is typically accessed only by an administrator using a Command Language Interface (CLI) or a web interface. Access to the management layer is typically password protected and uses an encrypted channel (e.g. by using SSL protocol) for communication. Without such protection, anyone who knows the web port address of the management layer may be able to produce commands with devastating effect on the storage system.
A functional diagram of a typical storage system known in the art is demonstrated in FIG. 1 that illustrates a storage system 100 with two communication interfaces: a data communication interface and a management communication interface. The data communication interface is typically implemented by a SCSI (Small Computer System Interface) port 121 coupled to an equivalent port in a host 150 over a data communication path 131. Host 150 communicates with storage system 100 via data communication path 131 for sending data access commands, such as: read data, write data, and the like, and for receiving responses to the data access commands. The management communication interface is typically a web port 122 coupled to an equivalent port of an administrator computer 160, over a management communication path 132. An administrator 165 (a human), using administrator computer 160, can communicate with storage system 100 via management communication path 132 for sending administrative commands that involve allocating and changing storage resources, such as, create volume, resize volume, delete volume, etc. and for receiving responses to the administrative commands. Administrative commands are handled by a management layer 140 while data access commands are handled by a separate entity in the storage system, such as data control layer 160.
In the illustrated storage system, when host 150 needs to create a new volume for example, the operator 155 of host 150 needs to contact the storage administrator 165 of the storage system. The storage administrator creates the new volume using the management layer in the storage system and informs the host operator about privileges, permissions, etc. Requiring human intervention for storage resource management is not suited for large-scale operations, as it is slow, suffers from low accessibility and is error prone.
The problems of minimizing the involvement of an administrator in storage management have been recognized in the Prior Art and various systems have been developed to provide a solution as, for example:
U.S. patent application Ser. No. 13/008,373 filed Jan. 18, 2011 and assigned to the assignee of the present application discloses a method for managing resources in storage pools of external virtual memory. The method includes assigning minimal quotas to respective storage pool portions of a pool, according to resources importance ranks Next, creating resources in corresponding pool portions according to importance rank, and in case that the space in the pool is not sufficient to accommodate the new resource, freeing space including deleting resources in pool portions that exceeded their minimal quotas according to criteria such as importance ranks, until sufficient space is freed for accommodating the new snapshot.
U.S. patent application Ser. No. 12/957,613 filed Dec. 1, 2010 and assigned to the assignee of the present application discloses a method for managing resources in a storage pool of external virtual memory, that includes a host manager being associated with a storage pool by a storage manager. The host manager manages the resources, the managing including creating resources in the storage pool and/or deleting resources in the storage pool. The host manager further accesses the resource in the pool, such accessing including reading data to or writing data to the resource.
U.S. patent application Ser. No. 12/941,246 filed Nov. 8, 2010 and assigned to the assignee of the present application discloses a method for accessing data in an external virtual memory. A host receives from a storage manager a created handle for autonomous access of a volume. The volume forms part of accessible volumes in the virtual memory. The host autonomously provisions the handle to a selected volume from among the accessible volumes, and the host accesses the selected volume through the handle.